In many systems of today, data communication between different devices is one of the basic procedures on which the operation of the system depends. There are a large number of systems using data communication, e.g. telecommunication systems, industrial monitoring and control systems and traffic surveillance systems. There is often a requirement that the transfer time of the data does not exceed a maximum time, or that the transfer time is predictable within certain limits. At the same time, communication at high bandwidth is often expensive and the capacity of the communication links is mostly adapted to handle a normal high-intensity communication situation. However, abnormal traffic situations may cause congestion or loss of information. Thus, there is a general wish to monitor the capacity situation in different communication links in order to control the intensity of the data communication.
A method often used to handle temporary link capacity variations is to include buffers, which temporarily store the data until free link capacity is available. However, in order to handle large capacity variations, the size of the buffers has to be large. A disadvantage with this solution is that large buffers are expensive and that the delay in a large buffer may be unacceptably large. Instead, a regulation of the production of data to be communicated is required. By monitoring the capacity need and the free link capacity, such a regulation may be performed. However, such monitoring normally requires an additional data communication in the opposite direction, a feedback of information in the opposite direction compared with the normal communication, which requires additional hardware or results in a lower mean link capacity.
In prior art, solutions are presented, where a buffer of a transmission link is monitored. When the number of waiting messages or data packets increases, it may be that the link capacity temporarily is exceeded, and when the number of waiting messages or data packets decreases, free link capacity is used for shortening the queues. When the link capacity is exceeded, a regulation of the process generating the messages or data may be performed in order to reduce the generation rate of messages. However, if more than one process uses the same transmission link, the situation becomes more complicated, and an interconnection between the different processes is often necessary Furthermore, if the regulation of a process is slow, i.e. if the time from that a regulation starts until there is a noticeable change of the output rate, the buffer still has to be large in order to store all messages created in the meantime.
A general problem with certain devices according to prior art is that they give rise to large delays and that they require comparatively large buffer areas.
In the U.S. Pat. No. 6,091,709 a QoS management system for packet switched networks is disclosed. The basic idea concerns a problem specific to packet transmission networks—to meet guaranteed real-time services. A packet router system comprising a number of queues with different priorities. The mean delay of the packets in each queue, by time-stamping the packets at the entering into the queue. Intermittent monitoring of the mean age of the packets are performed. If the mean delay is under a first threshold, filler flow is directed to the queue, to get the queue to operate just around this threshold. The filler flow may consist of packets from queues with lower priority or if such are not available “dummy packets”. If a second delay threshold is passed, further packets directed to that queue is discarded. The thresholds are defined by using a relation between enqueued traffic and delay. The entire method relies heavily on the reliability of this relation curve, but no indications about how such curve is obtained are presented. The provision of reliable relation curves are far from simple. The procedure is particularly developed for systems being real-time critical and having a number of priority levels. The applicability on unity-priority systems is questionable. Furthermore, since an average forwarding delay is used, the method will have severe problems in handling burst-like traffic. Moreover, a measure of the average delay in a queue does not immediately concern the actual available or requested buffer length. Another problem of the above technique is that the process does not operate properly at longer congestion periods or at very sudden increases in traffic intensity.